Memory Controller Memory Controller CPU
نویسنده
چکیده
In its most general form, interconnection networks are a central component of all computing and communication systems from the internal interconnects of chip-scale embedded architectures to geographic-scale systems such as wide area networks and the internet. This section focuses on interconnection networks as they are used in multiprocessor and multicore systems. Specifically, the section addresses basic systems concepts and principles for interconnecting processors, cores, and memory modules. These concepts and principles are not exclusive to this application domain and in fact have also found application in networks used in storage systems, system area networks, and local area networks albeit with distinct engineering manifestations tailored to their particular domains. Interconnection networks have their roots in telephone switching networks and packet switching data networks and in fact the earliest multiprocessor networks were adaptations of those networks. They have since evolved to incorporate new principles and concepts that accommodate the distinct engineering and performance constraints of multiprocessor and multicore architectures. In particular, the lack of standards such as that found in the wide-area and local-area communities created opportunities for meeting performance goals via customized solutions which in turn has been largely responsible for the diversity of implementations. However, the shared goal of high performance multiprocessor communication has led to a common set of principles and concepts organized around a network stack that can be viewed as being comprised of the following layers: routing layer, switching layer, flow control layer, and physical layer. These layers collectively operate to realize the network performance and correctness properties, e.g., deadlock freedom. The physical layer comprises signaling techniques for synchronized transfer of data across links while switching techniques and their interaction with the flow control layer are described in the section on switching techniques in this Encyclopedia. This section describes basic interconnection network concepts covering topology, routing, correctness, and common metrics. The discussion includes the routing layer and periodically exposes dependencies on the lower level layers particularly with
منابع مشابه
Amba Dedicated Dma Controller with Multiple Masters Using Vhdl
This paper describes implementation of DMA controller of AMBA Bus with two masters using VHDL. DMA controller is a synthesizable soft IP core connected to the AMBA AHB Bus for easy integration into SOC implementation. The Direct Memory Access (DMA) Controller is a hardware feature that enables movement of blocks of data from peripheral to memory, memory to peripheral or memory to memory. This m...
متن کاملLPDDR2 Memory Controller Design in a 28nm Process
Efficient memory controllers can relieve performance bottlenecks in modern CPU architectures by reordering memory access requests to exploit the parallelism inherent in DRAM structure. We propose several possible designs for a memory controller targeting an LPDDR2 DRAM and fabricated in a 28nm process. The designs that more aggressively reorder requests can achieve up to 49% more bandwidth unde...
متن کاملDRAM Controller with a Complete Predictor
In the arsenal of resources for computer memory system performance improvement, predictors have gained an increasing role in the past years. They can suppress the latencies when accessing cache or main memory. In paper [1] it is shown how temporal parameters of cache memory access, defined as live time, dead time and access interval could be used for prediction of data prefetching. This paper e...
متن کاملThe Performance And Power Impact Of Using Multiple Dram Address Mapping Schemes In Multicore Processors
Lowest-level cache misses are satisfied by the main memory by mapping the cache-line physical address to the corresponding set of memory cells that contain the data. This is done by identifying the rank, bank, row and column to start fetching the data from in bursts. The address mapping can happen through a specific devised scheme in the memory controller, that receives the request from the CPU...
متن کاملContainers: Challenges with the memory resource controller and its performance
Containers in Linux are under active development and have different uses like security, isolation and resource guarantees. In order to provide a resource guarantee for containers, resource controllers are used as basic building blocks to monitor and control utilization of system resources like CPU time, resident memory and I/O bandwidth, among others. While CPU time and I/O bandwidth are renewa...
متن کاملNV-Tree: Reducing Consistency Cost for NVM-based Single Level Systems
The non-volatile memory (NVM) has DRAM-like performance and disk-like persistency which make it possible to replace both disk and DRAM to build single level systems. To keep data consistency in such systems is non-trivial because memory writes may be reordered by CPU and memory controller. In this paper, we study the consistency cost for an important and common data structure, B+Tree. Although ...
متن کامل